﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Comissoes.Models
{
    public class VendedoresModel
    {
        public VENDEDORES vendedor { get; set; }
        private PessoasModel pessoa { get; set; }

        List<string> erros;

        public VendedoresModel()
        {
            VENDEDORES vendedor = new VENDEDORES();
            vendedor.PESSOAS = new PESSOAS();
            pessoa = new PessoasModel();

            this.vendedor = vendedor;
        }

        public VendedoresModel(VENDEDORES Cliente)
        {
            this.vendedor = vendedor;
            pessoa = new PessoasModel(vendedor.PESSOAS);
        }

        public List<string> UpdateValidate(FormCollection form)
        {
            erros = new List<string>();

            erros.Union(pessoa.UpdateValidate(form));

            return erros;
        }

        public List<string> Update(FormCollection form)
        {
            xcontEntities db = new xcontEntities();
            erros = new List<string>();

            try
            {
                this.vendedor.ATIVO_VEND = form["ATIVO_VEND"].Contains("true") ? "A" : "B";
                pessoa.Update(db, form);

                if (!db.VENDEDORES.Any(t => t.COD_VEND == this.vendedor.COD_VEND))
                {
                    vendedor.PESSOAS = pessoa.pessoa;
                    db.AddToVENDEDORES(this.vendedor);
                }

                db.SaveChanges();
            }
            catch (Exception ex)
            {
                erros.Add(ex.Message);
                if (ex.InnerException != null)
                    erros.Add(ex.InnerException.Message);
            }

            return erros;
        }
    }
}